package com.marvels.system.permission.service;


import java.util.List;

import com.marvels.common.exception.MarvelsBusinessException;
import com.marvels.system.permission.dto.SysOrgDTO;

/**
 * 
* @ClassName: OrgService 
* @Description:  组织机构服务
* @author 李瑶
* @date 2018年1月22日 下午4:18:35 
*
 */
public interface OrgService {
	
	/**
	 * 获取组织机构树
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<SysOrgDTO> getOrgTree()throws MarvelsBusinessException;
	
	/**
	 * 获取组织节点详情
	 * @param org
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public SysOrgDTO getOrgInfo(SysOrgDTO org)throws MarvelsBusinessException;
	
	/**
	 * 
	* @Title: saveOrg 
	* @Description:  新增组织
	* @param org
	* @return int
	* @throws MarvelsBusinessException       
	* @author 李瑶
	* @date 2018年1月22日 下午4:45:34
	 */
	public SysOrgDTO saveOrg(SysOrgDTO org)throws MarvelsBusinessException;
	
	/**
	 * 新增组织机构根节点
	 * @param sysOrg
	 * @return
	 * @throws MarvelsBusinessException
	 */
	SysOrgDTO saveRootOrg(SysOrgDTO sysOrg) throws MarvelsBusinessException;
	
	/**
	 * 
	* @Title: delete 
	* @Description:  删除组织
	* @param sysOrg
	* @return
	* @throws MarvelsBusinessException       
	* @author 李瑶
	* @date 2018年1月22日 下午4:47:15
	 */
	public int deleteOrg(SysOrgDTO sysOrg)throws MarvelsBusinessException;
	
	/**
	 * 
	* @Title: updateOrg 
	* @Description: 更新组织 
	* @param org 组织实体类
	* @return
	* @throws MarvelsBusinessException       
	* @author 李瑶
	* @date 2018年1月22日 下午4:48:32
	 */
	public int updateOrg(SysOrgDTO org)throws MarvelsBusinessException;

	
}
